Gruppenwechsel
Gruppenwechsel lassen sich mit SAP einfach realisieren. Leider hat das Kommando “AT” auch seine Tücken. Hier ein kleiner Workaround.
Gruppenwechsel sind manchmal ein lästiges Problem, da SAP der Meinung ist, Zahlen-Felder mit * auffüllen zu müssen.
Mit zwei einfachen Tricks kann man dieses Problem umgehen.
Trick 1
DATA:
gt_kna1 LIKE kan1 occurs 0,
lwa_kna1 LIKE kna1,
lwa_kna1_dummy LIKE kna1.
LOOP AT gt_kna1 INTO lwa_kna1_dummy.
lwa_kna1 = lwa_kna1_dummy.
AT NEW kunnr.
* Hier kann man auf alle Felder in der lwa_kna1
* ohne *-Inhalte zugreifen
ENDAT.
ENDLOOP.
Trick 2
DATA:
gt_kna1 LIKE kan1 occurs 0,
lwa_kna1 LIKE kna1,
lv_at_flag TYPE c.
LOOP AT gt_kna1 INTO lwa_kna1_dummy.
CLEAR lv_at_flag
AT NEW kunnr.
lv_at_flag = ‘X’.
ENDAT.
IF lv_at_flag <> space.
lv_at_flag = space.
* Hier kann man wieder auf alle Felder in der lwa_kna1
* zugreifen
ENDIF.
ENDLOOP.
Anmerkung:
Der ABAP-Interpreter erkennt auch Gruppenwechsel in den hinteren Feldern automatisch! Bei einer Tabelle mit FELD1, FELD2, FELD3 können Sie getrost ein
AT NEW feld3.
programmieren, ohne auf die vorderen Felder einzugehen. Selbst Wenn FELD3 gleich bleibt, sich aber FELD 2 ändert, wird der Gruppenwechsel erkannt.
Vielen Dank an Lars Kohlhoff!
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024